
#include "log.h"

int log(const char *szProc, const char *szArch, const char *szTipo, const char *szData)
{

 	FILE *pfsLog; /* archivo donde se guardaran los log's */
	time_t t;      /* variable para obtener la fecha */
	char szFecha[16]; /* MMM DD HH:MM:SS (formato de fecha a guardar) */
	int i;
	char *cadena;
	t=time(NULL); /* obtiene la fecha */

  /*strchr devuelve un puntero a el primer espacio que encuentre en szFecha */
 	cadena=strchr(asctime(localtime(&t)),' ') + 1;

	for( i=0;i<=14;i++)
	  szFecha[i]=cadena[i];

	szFecha[i]='\0';

	/* apertura del archivo de log */
	if((pfsLog=fopen(szArch,"at"))==NULL){
	  return 1;
	}

	/* guardo el log */
	fprintf(pfsLog,"%s %s [%i] [%i]: %s: %s\n",szFecha,szProc,getpid(),(int32_t)pthread_self(),szTipo,szData);

	fclose(pfsLog); /* cierre del archivo log */

	return 0;
}
